Title: Custom Field: First Name v1.1

Author: John Briggs

Description:
This modification will provide an additional field.
The additional field can be entered on your member registration form.
The additonal field is editable in your member control panel and admin edit profile tool.
The additonal field is displayed in your member profile and threads.

Compatability: XMB 1.9.8 SP3

Install Note: Before adding this modification to your forum you should back up all files related to this mod.

License Note: This modification is released under the GPL License. A copy is provided with this software package.

Note: Backup all affected files, templates and database.

Affected Files (5): editprofile.php, member.php, memcp.php, viewthread.php, lang/English.lang.php

Affected Templates (5): admintool_editprofile, member_profile, member_reg, memcp_profile, viewthread_post

Author Note:
You downloaded this modification from XMB Garage.
Please visit http://www.xmbgarage.com/ for support.

Copyright:  2009 John Briggs. All rights reserved.

=======================================================================================================================================
=======
Step 1:
=======
=============================
Go to Admin Panel -> Insert Raw SQL
=============================
==========================
Paste Code Below & Click Submit:
==========================

ALTER TABLE `$table_members` ADD `firstname` varchar(100) NOT NULL default '';

=======================================================================================================================================
=======
Step 2:
=======
=================
Edit File: member.php
=================
==========
Find Code:
==========

loadtemplates(

=================
Replace Code With:
=================

loadtemplates(
'member_profile_firstname',

==========
Find Code:
==========

                $sig = postedVar('sig', 'javascript', ($SETTINGS['sightml']=='off'), TRUE, TRUE);

===============
Add Code Below:
===============

                // Custom Field: First Name Mod Begin
                $firstname = postedVar('firstname', 'javascript', TRUE, TRUE, TRUE);
               // Custom Field: First Name Mod Begin

=================
Find Code (2 Times):
=================

) VALUES ('$username'

=======================
Replace Code With (2 Times):
=======================

, firstname) VALUES ('$username',

=======================================
Find Code At End Of  Both Above Query Statements:
=======================================

)");

================
Replace Code With:
================

, '$firstname')");

==========
Find Code:
==========

                if (X_MEMBER && $memberinfo['email'] != '' && $memberinfo['showemail'] == 'yes') {
                    $email = $memberinfo['email'];
                } else {
                    $email = '';
                }

===============
Add Code Below:
===============

                // create firstname block
                $firstnameblock = '';
                if ($memberinfo['firstname'] != '') {
                    $memberinfo['firstname'] = censor($memberinfo['firstname']);
                    eval('$firstnameblock = "'.template('member_profile_firstname').'";');
                }

=======================================================================================================================================
=======
Step 3:
=======
=================
Edit File: memcp.php
=================
==========
Find Code:
==========

        $sig = isset($_POST['newsig']) ? checkInput($_POST['newsig'], '', $SETTINGS['sightml'], '', false) : '';

===============
Add Code Below:
===============

        // Custom Field: First Name Mod Begin
        $newfirstname = formVar('newfirstname');
        $firstname = $newfirstname ? checkInput($newfirstname, 'no', 'yes', 'javascript', false) : '';
        // Custom Field: First Name Mod End

==========
Find Code:
==========

        $sig = addslashes($sig);

===============
Add Code Below:
===============

        // Custom Field: First Name Mod Begin
        $firstname = addslashes($firstname);
        // Custom Field: First Name Mod End

==========
Find Code:
==========

        $db->query("UPDATE ".X_PREFIX."members SET $pwtxt

=============================
Find Code At End Of Query Statement:
=============================

 WHERE username='$xmbuser'");

==================
Replace Code With:
==================

, firstname='$firstname' WHERE username='$xmbuser'");

=======================================================================================================================================
=======
Step 4:
=======
===================
Edit File: editprofile.php
===================
==========
Find Code:
==========

    $sig = isset($_POST['newsig']) ? checkInput($_POST['newsig'], '', $SETTINGS['sightml'], '', false) : '';

===============
Add Code Below:
===============

    // Custom Field: First Name Mod Begin
    $newfirstname = formVar('newfirstname');
    $firstname = $newfirstname ? checkInput($newfirstname, 'no', 'yes', 'javascript', false) : '';
    // Custom Field: First Name Mod End

==========
Find Code:
==========

    $sig = addslashes($sig);

===============
Add Code Below:
===============

    // Custom Field: First Name Mod Begin
    $firstname = addslashes($firstname);
    // Custom Field: First Name Mod End

==========
Find Code:
==========

    $db->query("UPDATE ".X_PREFIX."members SET email='$email'

=============================
Find Code At End Of Query Statement:
=============================

 WHERE username='$user'");

================
Replace Code With:
================

, firstname='$firstname' WHERE username='$user'");

=======================================================================================================================================
=======
Step 5:
=======
===================
Edit File: viewthread.php
===================
==========
Find Code:
==========

            if ($post['location'] != '') {
                $post['location'] = censor($post['location']);
                $location = '<br />'.$lang['textlocation'].' '.$post['location'];
            } else {
                $location = '';
            }

===============
Add Code Below:
===============

            // Custom Field: First Name Mod Begin
            $firstname = '';
            if ($post['firstname'] != '') {
                $post['firstname'] = censor($post['firstname']);
                $firstname = '<br />'.$lang['firstname'].' '.$post['firstname'];
            }
            // Custom Field: First Name Mod End

==========
Find Code:
==========

            $location = '';
            $mood = '';

===============
Add Code Below:
===============

            // Custom Field: First Name Mod Begin
            $firstname = '';
            // Custom Field: First Name Mod End

=======================================================================================================================================
=======
Step 6:
=======
=======================
Edit File: lang/English.lang.php
=======================
==================================
Add Code At Very Bottom Of File Above ?>
==================================

// Custom Field: First Name Mod Begin
$lang['firstname'] = "First Name:";
// Custom Field: First Name Mod End

=======================================================================================================================================
=======
Step 7:
=======
==========================
Go To Admin Panel -> Templates
==========================
===========================
Edit Template: admintool_editprofile
===========================
==========
Find Code:
==========

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[textsite]</td>
<td bgcolor="$altbg2"><input type="text" name="newsite" size="25" value="$member[site]" /></td>
</tr>

===============
Add Code Above:
===============

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[firstname]</td>
<td bgcolor="$THEME[altbg2]"><input type="text" name="newfirstname" size="25" value="$member[firstname]" /></td>
</tr>

=======================================================================================================================================
=======
Step 8:
=======
===========================================
Go To Admin Panel -> Templates -> member_reg_optional
===========================================
==========
Find Code:
==========

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[textsite]</td>
<td bgcolor="$altbg2"><input type="text" name="site" size="25" value="" /></td>
</tr>

===============
Add Code Above:
===============

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[firstname]</td>
<td bgcolor="$THEME[altbg2]"><input type="text" name="firstname" size="25" value="" /></td>
</tr>

=======================================================================================================================================
=======
Step 9:
=======
=========================
Go To Admin Panel -> Templates
=========================
=======================
Edit Template: memcp_profile
=======================
==========
Find Code:
==========

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[textsite]</td>
<td bgcolor="$altbg2"><input type="text" name="newsite" size="25" value="$member[site]" /></td>
</tr>

===============
Add Code Above:
===============

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[firstname]</td>
<td bgcolor="$THEME[altbg2]"><input type="text" name="newfirstname" size="25" value="$member[firstname]" /></td>
</tr>

=======================================================================================================================================
========
Step 10:
========
==========================
Go To Admin Panel -> Templates
==========================
========================
Edit Template: viewthread_post
========================
==========
Find Code:
==========

$location

===============
Add Code Above:
===============

$firstname

=======================================================================================================================================
========
Step 11:
========
=========================
Go To Admin Panel -> Templates
=========================
=======================
Edit Template: member_profile
=======================
==========
Find Code:
==========

<tr class="tablerow">
<td bgcolor="$altbg1" width="22%">$lang[textsite]</td>
<td bgcolor="$altbg2"><a href="$site" target="_blank">$site</a></td>
</tr>

===============
Add Code Above:
===============

$firstnameblock

=======================================================================================================================================
========
Step 12:
========
==========================
Go To Admin Panel -> Templates
==========================
====================================
Create New Template: member_profile_firstname
====================================
============================
Add Code and Click Submit Changes:
============================

<tr class="tablerow">
<td bgcolor="$THEME[altbg1]" width="22%">$lang[firstname]</td>
<td bgcolor="$THEME[altbg2]">$memberinfo[firstname]</td>
</tr>

=======================================================================================================================================
Enjoy!